
<template>
  <yt-grid width="1664" height="1016" background="#4A90E221" class="page-di4wy">
      
  <yt-grid-item fixedSize='selfAdaption' id="yt-g369hm17gyrwz" gridColumnStart="117" gridColumnEnd="183" gridRowStart="21" gridRowEnd="41" zIndex="1" previewType="FixedWH">
      <span ref='ref1' class='webVueAntYtSpan webVueAntYtSpanStyle-xf9v8 webVueAntYtSpanStyle'>
                  <span v-html='"人员排班"'>
                  
              </span>
              </span>
  </yt-grid-item>


  <yt-grid-item fixedSize='selfAdaption' id="yt-s49ujm17gyrx3" gridColumnStart="33" gridColumnEnd="111" gridRowStart="20" gridRowEnd="41" zIndex="2" previewType="FixedWH">
      <span ref='ref2' class='webVueAntYtSpan webVueAntYtSpanStyle-o1iw7 webVueAntYtSpanStyle'>
                  <span v-html='"数据上报 /"'>
                  
              </span>
              </span>
  </yt-grid-item>


  <yt-grid-item fixedSize='selfAdaption' id="yt-ewt5lm17gyrx6" gridColumnStart="33" gridColumnEnd="1620" gridRowStart="51" gridRowEnd="123" zIndex="3" previewType="FixedWH">
      <div ref='ref3' class='webVueAntYtRectangle webVueAntYtRectangleStyle-b25s7 webVueAntYtRectangleStyle'>
                  
              </div>
  </yt-grid-item>


  <yt-grid-item fixedSize='selfAdaption' id="yt-xal8om17gyrx7" gridColumnStart="33" gridColumnEnd="1620" gridRowStart="142" gridRowEnd="982" zIndex="4" previewType="FixedWH">
      <div ref='ref4' class='webVueAntYtRectangle webVueAntYtRectangleStyle-iybon webVueAntYtRectangleStyle'>
                  
              </div>
  </yt-grid-item>


  <yt-grid-item fixedSize='selfAdaption' id="yt-guq1hm17gyrxg" gridColumnStart="1136" gridColumnEnd="1216" gridRowStart="71" gridRowEnd="103" zIndex="5" previewType="FixedWH">
      <a-button ref='ref6' @click="()=> { handleQueryClick(); }" class='webVueAntButton webVueAntYtButtonStyle-j4ziy  webVueAntYtButtonStyle center' :loading='Checkloading1'>
                  <span class='yt-button-content ' v-html='"查询"'>
                  
              </span>
              </a-button>
  </yt-grid-item>


  <yt-grid-item fixedSize='selfAdaption' id="yt-poo2pm17gyrxj" gridColumnStart="1250" gridColumnEnd="1330" gridRowStart="71" gridRowEnd="103" zIndex="6" previewType="FixedWH">
      <a-button ref='ref7' @click="()=> { handleResetClick(); }" class='webVueAntButton webVueAntYtButtonStyle-guqer  webVueAntYtButtonStyle center' :loading='Resetloading1'>
                  <span class='yt-button-content ' v-html='"重置"'>
                  
              </span>
              </a-button>
  </yt-grid-item>


  <yt-grid-item fixedSize='selfAdaption' :isShow='schedulingpopupwindowisShow1' id="yt-g65jum17gyryx" gridColumnStart="536" gridColumnEnd="1031" gridRowStart="193" gridRowEnd="621" zIndex="11" previewType="FixedWH">
      <yt-custom-modal ref='ref12' @ok="()=> { handleSchedulingModalOk(); }" @cancel="()=> { handleSchedulingModalCancel(); }" class='webVueAntYtModal  webVueAntYtModalStyle' v-model:isShow='schedulingpopupwindowisShow1' :title='"人员排班"'>
                  <template #content>
                  <a-form class='webVueAntForm ' :model='schedulingpopupwindowform1' :validate-trigger='"blur"' ref='ref12_form'>
                  
  <yt-grid  previewType="FixedWH" width="490" height="490">
      
  <yt-grid-item fixedSize='selfAdaption' :isShow='ShiftTypeisShow1' id="yt-f68g4m17ilp2p" gridColumnStart="57" gridColumnEnd="396" gridRowStart="51" gridRowEnd="73" zIndex="1" previewType="FixedWH">
      <a-form-item ref='ref29' class='webVueAntRadioFormItem webVueAntYtRadioFormItem-6n4as  webVueAntYtRadioFormItem show-label' name='ShiftTypevalue1' :colon='false' :rules='[]'>
                  <template #label>
                  <div class='label-content '>
                  <span class='ant-form-item-content ' v-html='"班次类型"'>
                  
              </span>
              </div>
              </template>
<a-radio-group data-event class='webVueAntRadio webVueAntYtRadioStyle-ytu8v webVueAntYtRadioStyle' v-model:value='schedulingpopupwindowform1.ShiftTypevalue1' :disabled='false' :options='ShiftTypeoptions1.dataSource'>
                  
              </a-radio-group>
              </a-form-item>
  </yt-grid-item>


  <yt-grid-item fixedSize='selfAdaption' :isShow='dayshiftstaffisShow1' id="yt-rib36m17imy7g" gridColumnStart="67" gridColumnEnd="425" gridRowStart="99" gridRowEnd="131" zIndex="2" previewType="FixedWH">
      <a-form-item ref='ref30' class='webVueSelectFormItem webVueAntYtSelectFormItem-r2gt0  webVueAntYtSelectFormItem show-label' name='dayshiftstaffvalue1' :colon='false' :rules='[]'>
                  <template #label>
                  <div class='label-content '>
                  <span class='ant-form-item-content ' v-html='"白班人员"'>
                  
              </span>
              </div>
              </template>
<a-select  class='webVueSelect  webVueAntYtSelectStyle' dropdownClassName='"popupKey" "popupKeyId"' :showArrow='true' v-model:value='schedulingpopupwindowform1.dayshiftstaffvalue1' :placeholder='"请选择"' :mode='"single"' :options='dayshiftstaffoptions1.dataSource' :showSearch='true'>
                  
              </a-select>
              </a-form-item>
  </yt-grid-item>


  <yt-grid-item fixedSize='selfAdaption' :isShow='NightshiftstaffisShow1' id="yt-k8jemm17in68r" gridColumnStart="67" gridColumnEnd="425" gridRowStart="161" gridRowEnd="193" zIndex="3" previewType="FixedWH">
      <a-form-item ref='ref31' class='webVueSelectFormItem webVueAntYtSelectFormItem-bw9oy  webVueAntYtSelectFormItem show-label' name='Nightshiftstaffvalue1' :colon='false' :rules='[]'>
                  <template #label>
                  <div class='label-content '>
                  <span class='ant-form-item-content ' v-html='"夜班人员"'>
                  
              </span>
              </div>
              </template>
<a-select  class='webVueSelect  webVueAntYtSelectStyle' dropdownClassName='"popupKey" "popupKeyId"' :showArrow='true' v-model:value='schedulingpopupwindowform1.Nightshiftstaffvalue1' :placeholder='"请选择"' :mode='"single"' :options='Nightshiftstaffoptions1.dataSource' :showSearch='true'>
                  
              </a-select>
              </a-form-item>
  </yt-grid-item>


  <yt-grid-item fixedSize='selfAdaption' :isShow='MiddleshiftpersonnelisShow1' id="yt-43lhgm17inr6y" gridColumnStart="66" gridColumnEnd="424" gridRowStart="223" gridRowEnd="255" zIndex="4" previewType="FixedWH">
      <a-form-item ref='ref32' class='webVueSelectFormItem webVueAntYtSelectFormItem-5my47  webVueAntYtSelectFormItem show-label' name='Middleshiftpersonnelvalue1' :colon='false' :rules='[]'>
                  <template #label>
                  <div class='label-content '>
                  <span class='ant-form-item-content ' v-html='"中班人员"'>
                  
              </span>
              </div>
              </template>
<a-select  class='webVueSelect  webVueAntYtSelectStyle' dropdownClassName='"popupKey" "popupKeyId"' :showArrow='true' v-model:value='schedulingpopupwindowform1.Middleshiftpersonnelvalue1' :placeholder='"请选择"' :mode='"single"' :options='Middleshiftpersonneloptions1.dataSource' :showSearch='true'>
                  
              </a-select>
              </a-form-item>
  </yt-grid-item>

  </yt-grid>
  
              </a-form>
              </template>
              </yt-custom-modal>
  </yt-grid-item>


  <yt-grid-item fixedSize='selfAdaption' id="yt-rixium17gzc5v" gridColumnStart="402" gridColumnEnd="639" gridRowStart="72" gridRowEnd="104" zIndex="7" previewType="FixedWH">
      <a-form-item ref='ref24' class='webVueAntDatePickerFormItem webVueAntYtDatePickerFormItem-yidqf  webVueAntYtDatePickerFormItem show-label' name='Monthsvalue1' :colon='false'>
                  <template #label>
                  <div class='label-content '>
                  <span class='ant-form-item-content ' v-html='"月份"'>
                  
              </span>
              </div>
              </template>
<yt-custom-date-piker data-event class='webVueAntYtDatePickerStyle-6opsz webVueAntYtDatePickerStyle' popupKey='"popupKey" "popupKeyId"' v-model:value='Monthsvalue1' :placeholder='"请输入"' :mode='"month"'>
                  
              </yt-custom-date-piker>
              </a-form-item>
  </yt-grid-item>


  <yt-grid-item fixedSize='selfAdaption' id="yt-ftutxm17h1l6o" gridColumnStart="1365" gridColumnEnd="1445" gridRowStart="71" gridRowEnd="103" zIndex="8" previewType="FixedWH">
      <a-button ref='ref26' @click="()=> { handleSchedulingClick(); }" class='webVueAntButton webVueAntYtButtonStyle-15am4  webVueAntYtButtonStyle center' :loading='Shiftschedulingloading1'>
                  <span class='yt-button-content ' v-html='"排班"'>
                  
              </span>
              </a-button>
  </yt-grid-item>


  <yt-grid-item fixedSize='selfAdaption' id="yt-4de5fm17h1ngj" gridColumnStart="1480" gridColumnEnd="1560" gridRowStart="71" gridRowEnd="103" zIndex="9" previewType="FixedWH">
      <a-button ref='ref27' @click="()=> { handleSyncLastMonthClick(); }" class='webVueAntButton webVueAntYtButtonStyle-ywxgg  webVueAntYtButtonStyle center' :loading='Synchronizelastmonthloading1'>
                  <span class='yt-button-content ' v-html='"同步上月"'>
                  
              </span>
              </a-button>
  </yt-grid-item>


  <yt-grid-item fixedSize='selfAdaption' :isShow='ProjectNameisShow1' id="yt-dvay3m17i8gf2" gridColumnStart="73" gridColumnEnd="338" gridRowStart="73" gridRowEnd="105" zIndex="10" previewType="FixedWH">
      <a-form-item ref='ref28' class='webVueSelectFormItem webVueAntYtSelectFormItem-ji9qt  webVueAntYtSelectFormItem show-label' name='ProjectNamevalue1' :colon='false'>
                  <template #label>
                  <div class='label-content '>
                  <span class='ant-form-item-content ' v-html='"项目名称"'>
                  
              </span>
              </div>
              </template>
<a-select  class='webVueSelect  webVueAntYtSelectStyle' dropdownClassName='"popupKey" "popupKeyId"' :showArrow='true' v-model:value='ProjectNamevalue1' :placeholder='"请输入"' :mode='"single"' :options='ProjectNameoptions1.dataSource' :showSearch='true'>
                  
              </a-select>
              </a-form-item>
  </yt-grid-item>

  </yt-grid>
</template>

<script>

import { loadCss } from "../shared/loadTheme";
import axios from "axios";
import { message, Modal } from "ant-design-vue";
import { h } from "vue";
export default {
data() {
return {
ProjectNamevalue1: undefined,
ProjectNameoptions1: {
dataSource: [],
value: []
},
ProjectNameisShow1: true,
Monthsvalue1: "",
Checkloading1: false,
Resetloading1: false,
Shiftschedulingloading1: false,
ShiftTypeoptions1: {
dataSource: [{
label: "早中晚班",
value: "早中晚班",
disabled: false,
select: true
}, {
label: "白班夜班",
value: "白班夜班",
disabled: false,
select: false
}],
value: ["早中晚班"]
},
ShiftTypeisShow1: true,
schedulingpopupwindowisShow1: false,
schedulingpopupwindowform1: {
id: null,
ShiftTypevalue1: "早中晚班",
dayshiftstaffvalue1: undefined,
Nightshiftstaffvalue1: undefined,
Middleshiftpersonnelvalue1: undefined
},
dayshiftstaffoptions1: {
dataSource: [{
label: "选项1",
value: "选项1",
disabled: false,
select: false
}, {
label: "选项2",
value: "选项2",
disabled: false,
select: false
}],
value: []
},
dayshiftstaffisShow1: true,
Nightshiftstaffoptions1: {
dataSource: [{
label: "选项1",
value: "选项1",
disabled: false,
select: false
}, {
label: "选项2",
value: "选项2",
disabled: false,
select: false
}],
value: []
},
NightshiftstaffisShow1: true,
Middleshiftpersonneloptions1: {
dataSource: [{
label: "选项1",
value: "选项1",
disabled: false,
select: false
}, {
label: "选项2",
value: "选项2",
disabled: false,
select: false
}],
value: []
},
MiddleshiftpersonnelisShow1: true,
Synchronizelastmonthloading1: false
};
},
watch: {
'schedulingpopupwindowform1.ShiftTypevalue1': 'handleShiftTypeChange'
},
methods: {
async handleQueryClick() {
// 检查项目名称和月份是否已选择
if (!this.ProjectNamevalue1 || !this.Monthsvalue1) {
message.warning('请先选择一个项目和月份');
return;
}

// 设置按钮加载状态
this.Checkloading1 = true;
try {
// 调用后端接口获取排班信息
const response = await this.executeBackendInterface('getSchedulingInfo', {
ProjectNamevalue1: this.ProjectNamevalue1,
Monthsvalue1: this.Monthsvalue1
});

// 检查接口调用结果
if (response.flag) {
// 处理成功的情况
message.success('查询成功');
// 这里可以根据需求处理返回的数据
console.log(response.data);
} else {
// 处理失败的情况
message.error(response.message || '查询失败');
}
} catch (error) {
// 处理接口调用异常
message.error('接口调用异常');
console.error(error);
} finally {
// 取消按钮加载状态
this.Checkloading1 = false;
}
},
handleResetClick() {
// 清空项目名称和月份
this.ProjectNamevalue1 = undefined;
this.Monthsvalue1 = "";
},
async handleSchedulingClick() {
// 检查项目名称和月份是否已选择
if (!this.ProjectNamevalue1 || !this.Monthsvalue1) {
message.warning('请先选择一个项目和月份');
return;
}

// 显示排班
this.Shiftschedulingloading1 = true;
try {
const response = await this.executeBackendInterface('getShiftScheduling', {
ProjectNamevalue1: this.ProjectNamevalue1,
Monthsvalue1: this.Monthsvalue1
});
if (response.flag) {
message.success('排班信息获取成功');
// 处理返回的数据
console.log(response.data);
} else {
message.error(response.message);
}
} catch (error) {
message.error('请求失败，请稍后重试');
} finally {
this.Shiftschedulingloading1 = false;
}
},
handleShiftTypeChange() {
// 获取当前班次类型的值
const shiftType = this.schedulingpopupwindowform1.ShiftTypevalue1;

// 根据班次类型显示或隐藏中班人员
if (shiftType === '早中晚班') {
this.MiddleshiftpersonnelisShow1 = true;
} else if (shiftType === '白班夜班') {
this.MiddleshiftpersonnelisShow1 = false;
}
},
async initMiddleShiftPersonnel() {
try {
// 调用后端接口获取所有用户信息
const response = await this.executeBackendInterface('getAllUsers', {});
if (response.flag) {
// 校验返回数据格式
const users = response.data.map(user => ({
  label: user.name,
  value: user.name,
  disabled: false,
  select: false
}));
// 更新中班人员下拉选项
this.Middleshiftpersonneloptions1.dataSource = users;
} else {
message.error(response.message);
}
} catch (error) {
message.error('获取用户信息失败');
}
},
async initNightShiftPersonnel() {
try {
// 调用后端接口获取所有用户信息
const response = await this.executeBackendInterface('getAllUsersCVE', {});
if (response.flag) {
// 校验返回数据格式
const users = response.data.map(user => ({
  label: user.name,
  value: user.id,
  disabled: false,
  select: false
}));

// 更新夜班人员下拉框数据
this.Nightshiftstaffoptions1.dataSource = users;
} else {
message.error(response.message);
}
} catch (error) {
message.error('获取用户信息失败');
}
},
async initDayShiftPersonnel() {
try {
// 调用后端接口获取所有用户信息
const response = await this.executeBackendInterface('getAllUsers17V', {});
if (response.flag) {
// 校验返回数据格式
const users = response.data.map(user => ({
  label: user.name,
  value: user.id,
  disabled: false,
  select: false
}));
// 更新dayshiftstaffoptions1的数据源
this.dayshiftstaffoptions1.dataSource = users;
} else {
message.error(response.message);
}
} catch (error) {
message.error('获取用户信息失败');
}
},
async handleSchedulingModalOk() {
try {
// Validate the form fields
const values = await this.$refs.ref12_form.validateFields();

// Prepare the data to be sent to the backend
const schedulingData = {
projectName: this.ProjectNamevalue1,
month: this.Monthsvalue1,
shiftType: this.schedulingpopupwindowform1.ShiftTypevalue1,
dayShiftStaff: this.schedulingpopupwindowform1.dayshiftstaffvalue1,
nightShiftStaff: this.schedulingpopupwindowform1.Nightshiftstaffvalue1,
middleShiftStaff: this.schedulingpopupwindowform1.Middleshiftpersonnelvalue1
};

// Send the data to the backend
const response = await axios.post('/api/scheduling', schedulingData);

// Check if the response is successful
if (response.data.success) {
message.success('排班数据新增成功');
this.schedulingpopupwindowisShow1 = false; // Close the modal
} else {
message.error('排班数据新增失败');
}
} catch (error) {
console.log('Failed:', error);
message.error('表单验证失败');
}
},
handleSchedulingModalCancel() {
// 关闭弹窗
this.schedulingpopupwindowisShow1 = false;

// 清空表单项
this.schedulingpopupwindowform1.ShiftTypevalue1 = "早中晚班";
this.schedulingpopupwindowform1.dayshiftstaffvalue1 = undefined;
this.schedulingpopupwindowform1.Nightshiftstaffvalue1 = undefined;
this.schedulingpopupwindowform1.Middleshiftpersonnelvalue1 = undefined;
},
async handleSyncLastMonthClick() {
// 检查是否选择了项目名称和月份
if (!this.ProjectNamevalue1 || !this.Monthsvalue1) {
message.warning('请先选择一个项目和月份');
return;
}

// 弹出确认对话框
Modal.confirm({
title: '确认同步',
content: '确定要同步上个月的排班信息吗？',
onOk: async () => {
this.Synchronizelastmonthloading1 = true;
try {
  // 调用后端接口
  const response = await this.executeBackendInterface('syncLastMonthScheduling', {
    ProjectNamevalue1: this.ProjectNamevalue1,
    Monthsvalue1: this.Monthsvalue1
  });

  // 处理后端接口返回结果
  if (response.flag) {
    message.success('同步成功');
  } else {
    message.error(response.message || '同步失败');
  }
} catch (error) {
  message.error('同步过程中发生错误');
} finally {
  this.Synchronizelastmonthloading1 = false;
}
},
onCancel: () => {
// 取消操作
}
});
},
async initProjectNames() {
try {
// 调用后端接口获取项目名称列表
const response = await this.executeBackendInterface('getAllProjects', {});

// 检查接口调用是否成功
if (response.flag) {
// 将返回的数据赋值给下拉框的选项
this.ProjectNameoptions1.dataSource = response.data.map(project => ({
  label: project.project_name,
  value: project.id
}));
} else {
// 如果接口调用失败，显示错误信息
message.error(response.message);
}
} catch (error) {
// 捕获并处理任何错误
message.error('获取项目名称列表失败');
}
},
async fetchAndSetVariables() {
try {
// 调用后端接口获取变量数组 需要传入pageUuid变量
const pageUuid = '1833068144520855552';
const response = await axios.get(`./system/permission/getCurrentPageNotShowVariable?pageUuid=${pageUuid}`);
const variablesArray = response.data; // 后端直接返回变量数组

if (variablesArray && Array.isArray(variablesArray))
// 遍历数组，将每个变量设置为true
variablesArray.forEach(variable => {
  this[variable] = true;
});
} catch (error) {
console.error('获取变量失败:', error);
}
},
executeBackendInterface(funcName, params) {
// 处理参数为Map的情况
if (params instanceof Map) {
params = Object.fromEntries(params);
}
// 调用后端接口
return new Promise((resolve, reject) => {
axios.post('./Personnelscheduling/' + funcName, params, {
headers: {
  'Content-Type': 'application/json'
}
}).then(response => {
resolve(response.data);
}).catch(error => {
reject(error);
});
});
}
},
mounted() {
loadCss('./css/人员排班/theme.css');
this.initMiddleShiftPersonnel();
this.initNightShiftPersonnel();
this.initDayShiftPersonnel();
// 页面加载后初始化项目名称列表
this.initProjectNames();
// 组件挂载后自动调用函数获取变量
this.fetchAndSetVariables();
},
computed: {}
};

</script>
<style lang="less">
.page-di4wy{
.webVueAntYtSpanStyle{
opacity: 1;
color: #3D3D3D;
font-family: Microsoft YaHei;
font-size: 14px;
font-weight: Normal;
line-height: 20px;
letter-spacing: 0px;
align-content: center;
text-decoration: none;
font-style: normal;
text-align: left;
text-align-last: left;
}
.webVueAntYtSpanStyle span{
text-shadow: 0px 0px 0px transparent;
}
.webVueAntYtSpan {
display: block;
height:100%;
width:100%;
}
.webVueAntYtSpan span{
word-break: break-all;
width: auto;
display: inline-block;
vertical-align: top; /* 根据需要调整 */
}
.webVueAntYtSpan span:focus{
outline: none;
}

.webVueAntYtSpanStyle-xf9v8{
color: #438EFC !important;
font-size: 16px;
font-weight: bold;
}
.webVueAntYtSpanStyle-xf9v8 span{
text-decoration: none;
}

.webVueAntYtSpanStyle-o1iw7{
color: #4A4A4A !important;
font-size: 16px;
font-weight: bold;
}
.webVueAntYtSpanStyle-o1iw7 span{
text-decoration: none;
}

.webVueAntYtRectangleStyle{
opacity: 1;
box-shadow: 0px 0px 0px 0px transparent;
background: transparent;
border-top-left-radius: 0px;
border-top-right-radius: 0px;
border-bottom-left-radius: 0px;
border-bottom-right-radius: 0px;
border-top: 1px solid #CDCDCD;
border-right: 1px solid #CDCDCD;
border-bottom: 1px solid #CDCDCD;
border-left: 1px solid #CDCDCD;
}
.webVueAntYtRectangle {
width: 100%;
height:100%;

}

.webVueAntYtRectangleStyle-b25s7{
background: #ffffff;
border-top: 1px solid transparent;
border-right: 1px solid transparent;
border-bottom: 1px solid transparent;
border-left: 1px solid transparent;
}

.webVueAntYtRectangleStyle-iybon{
background: #ffffff;
border-top: 1px solid transparent;
border-right: 1px solid transparent;
border-bottom: 1px solid transparent;
border-left: 1px solid transparent;
}

.webVueAntYtButtonStyle{
opacity: 1;
color: #FFFFFF;
font-family: Microsoft YaHei;
font-size: 14px;
font-weight: Normal;
background: #4A90E2;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
border-top: 0px solid #D9D9D9;
border-right: 0px solid #D9D9D9;
border-bottom: 0px solid #D9D9D9;
border-left: 0px solid #D9D9D9;
box-shadow: 0px 0px 0px 0px transparent;
padding-top: 2px;
padding-right: 0px;
padding-bottom: 2px;
padding-left: 0px;
}
.webVueAntYtButtonStyle>span{
line-height: 28px;
letter-spacing: 0px;
text-decoration: none;
font-style: normal;
text-align: center;
text-align-last: center;
}
.webVueAntButton  {
width: 100%;
height:100%;
display: flex;
}
.webVueAntButton .span:first-child{
flex: 0 0 8px;
}
.webVueAntButton .yt-button-content{
display: inline-block;
flex: 1;
}

.webVueAntButton.ant-btn-loading.center .yt-button-content,
.webVueAntButton.ant-btn-loading.right .yt-button-content,
.webVueAntButton.ant-btn-loading.left .yt-button-content {
flex: 0 0 auto;
}
.webVueAntButton span:focus{
outline: none;
}
.webVueAntButton.ant-btn-two-chinese-chars>:not(.anticon) {
margin-right: 0;
}

.webVueAntYtButtonStyle-j4ziy{
color: #FFFFFF !important;
background: #3C8EFF !important;
align-items: center;
justify-content: center;
}
.webVueAntYtButtonStyle-j4ziy>span{
letter-spacing: 0px !important;
}

.webVueAntYtButtonStyle-guqer{
color: #4A90E2 !important;
background: transparent !important;
border-top: 1px solid #4A90E2;
border-right: 1px solid #4A90E2;
border-bottom: 1px solid #4A90E2;
border-left: 1px solid #4A90E2;
align-items: center;
justify-content: center;
}
.webVueAntYtButtonStyle-guqer>span{
letter-spacing: 0px !important;
}

.webVueAntYtModalStyle .ant-modal-wrap{
opacity: 1;
box-shadow: 0px 0px 0px 0px transparent;
border-top-left-radius: 6px;
border-top-right-radius: 6px;
border-bottom-left-radius: 6px;
border-bottom-right-radius: 6px;
border-top: 1px solid transparent;
border-right: 1px solid transparent;
border-bottom: 1px solid transparent;
border-left: 1px solid transparent;
}
.webVueAntYtModalStyle .ant-modal-wrap .yt-custom-modal-header{
text-decoration: none;
font-style: normal;
text-align: left;
text-align-last: left;
color: #333333;
font-family: Microsoft YaHei;
font-size: 14px;
font-weight: Normal;
padding-top: 12px;
padding-right: 0px;
padding-bottom: 12px;
padding-left: 21px;
}
.webVueAntYtModalStyle.yt-custom-modal .ant-modal-header{
height: 45px;
background: #ffffff;
}
.webVueAntYtModalStyle .ant-modal-wrap .ant-modal-close-x{
height: 45px;
line-height: 45px;
}
.webVueAntYtModalStyle.yt-custom-modal .ant-modal-footer{
height: 57px;
background: #ffffff;
}
.webVueAntYtModal {
width: 100%;
height: 100%;
}



.webVueAntYtDatePickerFormItem{
flex-direction: row;
opacity: 1;
}
.webVueAntYtDatePickerFormItem .ant-form-item-label label{
text-decoration: none;
font-style: normal;
color: #333333;
font-family: Microsoft YaHei;
font-size: 14px;
font-weight: Normal;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 0px;
}
.webVueAntYtDatePickerFormItem .ant-form-item-label label .label-content{
text-align: left;
text-align-last: left;
}
.webVueAntYtDatePickerStyle{
box-shadow: 0px 0px 0px 0px transparent;
background: #FFFFFF !important;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
border-top: 1px solid #CDCDCD;
border-right: 1px solid #CDCDCD;
border-bottom: 1px solid #CDCDCD;
border-left: 1px solid #CDCDCD;
padding-top: 0px;
padding-right: 10px;
padding-bottom: 0px;
padding-left: 12px;
}
.webVueAntYtDatePickerStyle.ant-picker-focused,.webVueAntYtDatePickerStyle.ant-picker:hover{
border-right: 1px solid #CDCDCD !important;
}
.webVueAntYtDatePickerStyle .ant-picker-input>input{
color: #333333;
font-family: Microsoft YaHei;
font-size: 14px;
font-weight: Normal;
letter-spacing: 0px;
text-decoration: none;
font-style: normal;
}
.webVueAntYtDatePickerStyle .ant-picker-input>input::placeholder{
color: #999999;
}
.popupKey.dropdownClassName{
box-shadow: 0px 0px 10px 0px rgba(153,153,153,0.3);
border-top-left-radius: 2px;
border-top-right-radius: 2px;
border-bottom-left-radius: 2px;
border-bottom-right-radius: 2px;
border-top: 1px solid transparent;
border-right: 1px solid transparent;
border-bottom: 1px solid transparent;
border-left: 1px solid transparent;
}
.popupKey.dropdownClassName .ant-picker-panel-container{
background: #ffffff;
}
.popupKey.dropdownClassName .ant-picker-panel-container .ant-picker-header,.popupKey.dropdownClassName .ant-picker-panel-container .ant-picker-panel table tr th,.popupKey.dropdownClassName .ant-picker-panel-container .ant-picker-panel table tr td{
color: #333333;
}
.webVueAntDatePickerFormItem  {
flex-wrap: nowrap;
}
.webVueAntDatePickerFormItem ,
.webVueAntDatePickerFormItem .ant-form-item-control-input,
.webVueAntDatePickerFormItem .ant-form-item-control-input .ant-form-item-control-input-content {
width: 100%;
height: 100%;
}
.webVueAntDatePickerFormItem .ant-form-item-label {
flex-shrink: 0;
padding: 0;
text-align: left;
}
.webVueAntDatePickerFormItem .ant-form-item-label label {
width: 100%;
height: 100%;
}
.webVueAntDatePickerFormItem .ant-form-item-label>label.ant-form-item-required:not(.ant-form-item-required-mark-optional):before {
margin-top: 4px;
}
.webVueAntDatePickerFormItem .ant-form-item-label label .label-content{
flex: 1;
display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
}
.webVueAntDatePickerFormItem .ant-form-item-label>label.ant-form-item-no-colon:after {
display: none;
}
.webVueAntDatePickerFormItem .ant-form-item-label label .ant-form-item-content {
white-space: nowrap;
}
.webVueAntDatePickerFormItem.hide-label .ant-form-item-label {
display: none;
}
.webVueAntDatePickerFormItem .dropdownClassName {
overflow: hidden;
}
.webVueAntDatePickerFormItem .ant-form-item-content:focus{
outline: none;
}
.webVueAntYtDatePicker .ant-picker-dropdown {
text-align-last: auto;
}
.webVueAntYtDatePicker .ant-picker-input>input {
background: transparent;
}

.webVueAntYtDatePickerFormItem-yidqf .ant-form-item-explain{
position: absolute;
top: 100%;
z-index: -1;
}
.webVueAntYtDatePickerFormItem-yidqf .ant-form-item-label label{
width: 38px;
padding-right: 10px;
}
.webVueAntYtDatePickerStyle-6opsz{
background: #FFFFFF!important;
border-top: 1px solid #CDCDCD !important;
border-right: 1px solid #CDCDCD !important;
border-bottom: 1px solid #CDCDCD !important;
border-left: 1px solid #CDCDCD !important;
}
.webVueAntYtDatePickerStyle-6opsz.ant-picker-focused,.webVueAntYtDatePickerStyle-6opsz.ant-picker:hover{
border-right: 1px solid #CDCDCD!important;
}

.webVueAntYtButtonStyle-15am4{
color: #4A90E2 !important;
background: transparent !important;
border-top: 1px solid #4A90E2;
border-right: 1px solid #4A90E2;
border-bottom: 1px solid #4A90E2;
border-left: 1px solid #4A90E2;
align-items: center;
justify-content: center;
}
.webVueAntYtButtonStyle-15am4>span{
letter-spacing: 0px !important;
}

.webVueAntYtButtonStyle-ywxgg{
color: #4A90E2 !important;
background: transparent !important;
border-top: 1px solid #4A90E2;
border-right: 1px solid #4A90E2;
border-bottom: 1px solid #4A90E2;
border-left: 1px solid #4A90E2;
align-items: center;
justify-content: center;
}
.webVueAntYtButtonStyle-ywxgg>span{
letter-spacing: 0px !important;
}

.webVueAntYtSelectFormItem{
flex-direction: row;
opacity: 1;
}
.webVueAntYtSelectFormItem .ant-form-item-label label{
text-decoration: none;
font-style: normal;
color: #333333;
font-family: Microsoft YaHei;
font-size: 14px;
font-weight: Normal;
width: 52px;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 0px;
}
.webVueAntYtSelectFormItem .ant-form-item-label label .label-content{
text-align: left;
text-align-last: left;
}
.webVueAntYtSelectStyle .ant-select-selector{
background: #FFFFFF !important;
border-top-left-radius: 4px !important;
border-top-right-radius: 4px !important;
border-bottom-left-radius: 4px !important;
border-bottom-right-radius: 4px !important;
border-top: 1px solid #CDCDCD !important;
border-right: 1px solid #CDCDCD !important;
border-bottom: 1px solid #CDCDCD !important;
border-left: 1px solid #CDCDCD !important;
box-shadow: 0px 0px 0px 0px transparent;
padding-top: 0px !important;
padding-right: 10px !important;
padding-bottom: 0px !important;
padding-left: 12px !important;
}
.webVueAntYtSelectStyle.ant-select:not(.ant-select-disabled):hover .ant-select-selector,.webVueAntYtSelectStyle.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{
border-right: 1px solid #CDCDCD !important;
}
.webVueAntYtSelectStyle .ant-select-selector .ant-select-selection-item{
color: #333333;
font-family: Microsoft YaHei;
font-size: 14px;
font-weight: Normal !important;
letter-spacing: 0px;
text-decoration: none;
font-style: normal;
}
.webVueAntYtSelectStyle .ant-select-selector .ant-select-selection-search input{
color: #333333;
font-family: Microsoft YaHei;
font-size: 14px;
font-weight: Normal !important;
letter-spacing: 0px;
text-decoration: none;
font-style: normal;
}
.webVueAntYtSelectStyle .ant-select-selector .ant-select-selection-placeholder{
color: #999999;
font-family: Microsoft YaHei;
font-size: 14px;
font-weight: Normal;
letter-spacing: 0px;
text-decoration: none;
font-style: normal;
}
.popupKey.ant-select-dropdown{
border-top-left-radius: 2px !important;
border-top-right-radius: 2px !important;
border-bottom-left-radius: 2px !important;
border-bottom-right-radius: 2px !important;
background: #ffffff !important;
border-top: 1px solid transparent !important;
border-right: 1px solid transparent !important;
border-bottom: 1px solid transparent !important;
border-left: 1px solid transparent !important;
box-shadow: 0px 0px 10px 0px rgba(153,153,153,0.3);
padding-top: 0px !important;
padding-right: 0px !important;
padding-bottom: 0px !important;
padding-left: 0px !important;
}
.popupKey.ant-select-dropdown .ant-select-item{
color: #333333;
font-family: Microsoft YaHei;
font-size: 14px;
font-weight: Normal;
letter-spacing: 0px;
text-decoration: none;
font-style: normal;
}
.popupKey.ant-select-dropdown .ant-select-item-option-selected{
background: #E6EFFE;
color: #333333;
}
.popupKey.ant-select-dropdown .ant-select-item:hover{
background: #F0F0F0;
color: #333333;
}
.popupKey .ant-select-item-option-active:not(.ant-select-item-option-disabled){
background: #F0F0F0;
color: #333333;
}
.webVueSelectFormItem  {
flex-wrap: nowrap;
}
.webVueSelectFormItem ,
.webVueSelectFormItem .ant-form-item-control-input,
.webVueSelectFormItem .ant-form-item-control-input .ant-form-item-control-input-content,
.webVueSelectFormItem .ant-form-item-control-input  .ant-select-selector .ant-select-selection-search input{
width: 100%;
height: 100%;
}
.webVueSelectFormItem .ant-form-item-control {
min-width: 0;
}
.webVueSelectFormItem .ant-form-item-label {
flex-shrink: 0;
padding: 0;
text-align: left;
}
.webVueSelectFormItem  .ant-form-item-label label {
width: 100%;
height: 100%;
}
.webVueSelectFormItem .ant-form-item-label>label.ant-form-item-required:not(.ant-form-item-required-mark-optional):before {
margin-top: 4px;
}
.webVueSelectFormItem .ant-form-item-label label .label-content{
flex: 1;
display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
}
.webVueSelectFormItem .ant-form-item-label>label.ant-form-item-no-colon:after {
display: none;
}
.webVueSelectFormItem .ant-form-item-label label .ant-form-item-content {
white-space: nowrap;
}
.webVueSelectFormItem.hide-label .ant-form-item-label {
display: none;
}
.webVueSelectFormItem .ant-form-item-content:focus{
outline: none;
}
.webVueSelect.ant-select-single .ant-select-selector .ant-select-selection-placeholder,
.webVueSelect.ant-select-single .ant-select-selector{
display: flex;
align-items: center;
}

.webVueSelect {
width: 100%;
height:100%;
}
.webVueSelect .ant-select-selector {
width: 100% !important;
height: 100% !important;
overflow: auto;
}

.webVueAntYtSelectFormItem-ji9qt .ant-form-item-explain{
position: absolute;
top: 100%;
z-index: -1;
}
.webVueAntYtSelectFormItem-ji9qt .ant-form-item-label label{
width: 67px;
padding-right: 10px;
}

.webVueAntYtRadioFormItem{
flex-direction: row;
}
.webVueAntYtRadioFormItem .ant-radio-wrapper span{
color: #333333;
font-size: 14px;
font-weight: Normal;
}
.webVueAntYtRadioFormItem .ant-radio-wrapper:not(:last-child){
margin-right: 14px;
}
.webVueAntYtRadioFormItem .ant-radio-inner{
border-color: #CBCBCB;
}
.webVueAntYtRadioFormItem .ant-radio-wrapper-checked span{
color: #333333;
}
.webVueAntYtRadioFormItem .ant-radio-wrapper-checked .ant-radio-inner{
border-color: #3F82F9;
}
.webVueAntYtRadioFormItem .ant-radio-wrapper-checked .ant-radio-inner:after{
background-color: #3F82F9;
}
.webVueAntYtRadioStyle:focus+.ant-radio-inner,.webVueAntYtRadioStyle .ant-radio-wrapper:hover .ant-radio,.webVueAntYtRadioStyle .ant-radio:hover .ant-radio-inner{
border-color: #3F82F9;
}
.webVueAntYtRadioFormItem .ant-form-item-label label{
text-decoration: none;
font-style: normal;
color: #333333;
font-family: Microsoft YaHei;
font-size: 14px;
font-weight: Normal;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 0px;
}
.webVueAntYtRadioFormItem .ant-form-item-label label .label-content{
text-align: left;
text-align-last: left;
}
.webVueAntRadioFormItem  {
flex-wrap: nowrap;
}
.webVueAntRadioFormItem ,
.webVueAntRadioFormItem .ant-form-item-control-input,
.webVueAntRadioFormItem .ant-form-item-control-input .ant-form-item-control-input-content {
width: 100%;
height: 100%;
}
.webVueAntRadioFormItem .ant-form-item-label {
flex-shrink: 0;
padding: 0;
text-align: left;
}
.webVueAntRadioFormItem .ant-form-item-label label {
width: 100%;
height: 100%;
align-items: flex-start;
}
.webVueAntRadioFormItem .ant-form-item-label>label.ant-form-item-required:not(.ant-form-item-required-mark-optional):before {
margin-top: 4px;
}
.webVueAntRadioFormItem .ant-form-item-label label .label-content{
flex: 1;
height: 100%;
display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
}
.webVueAntRadioFormItem .ant-form-item-label>label.ant-form-item-no-colon:after {
display: none;
}
.webVueAntRadioFormItem .ant-form-item-label label .ant-form-item-content {
white-space: nowrap;
}
.webVueAntRadioFormItem.hide-label .ant-form-item-label {
display: none;
}
.webVueAntRadioFormItem .ant-form-item-content:focus{
outline: none;
}
.webVueAntRadio {
width: 100%;
height: 100%;
}
.webVueAntRadio .ant-radio-wrapper:last-child {
margin-right: 0;
}

.webVueAntYtRadioStyle-ytu8v{
color: #333333;
font-family: Microsoft YaHei;
font-size: 14px;
font-weight: Normal;
}
.webVueAntYtRadioStyle-ytu8v .ant-radio-wrapper span{
color: #333333;
font-size: 14px;
font-weight: Normal;
}
.webVueAntYtRadioStyle-ytu8v .ant-radio-wrapper:not(:last-child){
margin-right: 14px;
}
.webVueAntYtRadioStyle-ytu8v .ant-radio-inner{
border-color: #CBCBCB;
}
.webVueAntYtRadioStyle-ytu8v .ant-radio-wrapper-checked span{
color: #333333;
}
.webVueAntYtRadioStyle-ytu8v .ant-radio-wrapper-checked .ant-radio-inner{
border-color: #3F82F9;
}
.webVueAntYtRadioStyle-ytu8v .ant-radio-wrapper-checked .ant-radio-inner:after{
background-color: #3F82F9;
}
.webVueAntYtRadioFormItem-6n4as .ant-form-item-label label{
width: 77px;
padding-right: 20px;
}
.webVueAntYtRadioFormItem-6n4as{
opacity: 1;
}

.webVueAntYtSelectFormItem-r2gt0 .ant-form-item-explain{
position: absolute;
top: 100%;
z-index: -1;
}
.webVueAntYtSelectFormItem-r2gt0 .ant-form-item-label label{
width: 66px;
padding-right: 10px;
}

.webVueAntYtSelectFormItem-bw9oy .ant-form-item-explain{
position: absolute;
top: 100%;
z-index: -1;
}
.webVueAntYtSelectFormItem-bw9oy .ant-form-item-label label{
width: 66px;
padding-right: 10px;
}

.webVueAntYtSelectFormItem-5my47 .ant-form-item-explain{
position: absolute;
top: 100%;
z-index: -1;
}
.webVueAntYtSelectFormItem-5my47 .ant-form-item-label label{
width: 66px;
padding-right: 10px;
}}
</style>